package com.chinacoal.microservice.service;

import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletResponse;

import com.chinacoal.microservice.pojo.AssessmentStatistics;
import com.chinacoal.microservice.pojo.CcmsSmartleasingAssessment;
import com.chinacoal.microservice.pojo.CcmsSmartleasingAssessmentScore;
import com.chinacoal.microservice.util.QueryCriteria;
import com.chinacoal.microservice.util.Result;

/**
 * 考核模块-考核管理业务层
 * @author wiilead
 *
 */
public interface AssessmentService {
	/**
	 * 新增或修改考核
	 * @param assessment
	 * @param token
	 * @return
	 */
	Result addOrUpdateAssessment(CcmsSmartleasingAssessment assessment,String token);
	
	/**
	 * 查询考核列表
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	Result<List<CcmsSmartleasingAssessment>> getAssessmentList(QueryCriteria queryCriteria,String token);
	
	/**
	 * 考核详情
	 * @param assessmentId
	 * @return
	 */
	Result<CcmsSmartleasingAssessment> getAssessmentInfo(String assessmentId,String token);
	
	/**
	 * 删除考核
	 * @param assessmentId
	 * @return
	 */
	Result deleteAssessment(String assessmentId);
	
	/**
	 * 考核
	 * @param assessmentScore
	 * @return
	 */
	Result addAssessmentScore(List<CcmsSmartleasingAssessmentScore> assesmentScoreList,String token);
	
	/**
	 * 考核统计
	 * @param type
	 * @return
	 */
	Result<List<AssessmentStatistics>> getAssessmentSatistics(QueryCriteria queryCriteria);
	
	/**
	 * 考核统计导出
	 * @param response
	 * @throws Exception
	 */
	void exportExcel(HttpServletResponse response) throws Exception;
}
